package com.freewater.cargotracker.domain.shared;

public interface Specification<T> {

    boolean isSatisfiedBy(T t);

    // 是一个闭合操作
    Specification<T> and(Specification<T> specification);

    // 是一个闭合操作
    Specification<T> or(Specification<T> specification);

    // 是一个闭合操作
    Specification<T> not(Specification<T> specification);
}
